package com.real.operationalcontrols.基类;

import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.os.Bundle;

import androidx.appcompat.app.AppCompatActivity;

import com.gyf.immersionbar.ImmersionBar;
import com.real.operationalcontrols.R;

import butterknife.ButterKnife;

public abstract class BaseActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        try {
            //设置坚屏 一定要放到try catch里面，否则会崩溃
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        } catch (Exception e) {
        }
        //防止home之后返回重启app
        if (!this.isTaskRoot()) { // 判断当前activity是不是所在任务栈的根
            Intent intent = getIntent();
            if (intent != null) {
                String action = intent.getAction();
                if (intent.hasCategory(Intent.CATEGORY_LAUNCHER) && Intent.ACTION_MAIN.equals
                        (action)) {
                    finish();
                    return;
                }
            }
        }
        initBar();
        setContentView(getLayoutId());
        ButterKnife.bind(this);
        getData();
    }

    private void initBar() {
        ImmersionBar.with(this)
                .fitsSystemWindows(true)
                .statusBarColor(R.color.colorTitle)     //状态栏颜色，不写默认透明色
                .navigationBarColor(R.color.colorTitle) //导航栏颜色，不写默认黑色
                .init();  //必须调用方可沉浸式
    }

    protected abstract int getLayoutId();

    protected abstract void getData();

}
